package com.zoweunion.mechanic.dao.base;

import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

@Mapper
@Component
public interface EngineLockCarDao {

    /**
     * 车辆锁车次数
     *
     * */
    Integer lockCount(Map<String, Object> reqMap);

    /**
     * 被锁车计数
     *
     */
    Integer getLockCarCount(Map<String, Object> reqMap);

    /**
     * 生产商车辆计数
     *
     */
    Integer getEngineCarCount(Map<String, Object> reqMap);

    /**
     * 车主列表展示 ((分页,条件查询)
     * @param reqMap 分页条件 查询条件(车主姓名,电话)
     * @return 车主信息 包含已拥有车辆数
     */
    List<Map<String, Object>> getCarsOwner(Map<String, Object> reqMap);

    /**
     * 插入新的操作命令
     * */
    void thingsIdCarOperation(Map<String, Object> reqMap);

    /**
     * 将未执行的命令改为执行完成
     * */
    void updateThingsIdCarOperation(Map<String, Object> reqMap);

    /**
     * 查询是否存在未执行的命令
     * */
    Integer getThingsIdCarOperation(Map<String, Object> reqMap);

    /**
     * 车主名下车辆列表展示
     * @param reqMap 分页条件 查询条件(车主姓名,电话，物联编号，制造编号)
     * @return 车主信息
     */
    List<Map<String, Object>> carListByOwner(Map<String, Object> reqMap);

    void updateCarIsLoeckByCarId(String car_id, String isLocked);

    Integer lockCarCountEngine(Map<String, Object> reqMap);

    Integer carCountEngine(Map<String, Object> reqMap);

    String getRoleByUserId(String userId);

    List<String> getSIdByUserId(String userId);
}
